home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part2 / 14428 < prev    next >
Encoding:
Text File  |  1996-08-05  |  973 b   |  52 lines

  1. Path: brahms.udel.edu!not-for-mail
  2. From: yuehong@brahms.udel.edu (Yue-hong Zheng)
  3. Newsgroups: comp.lang.c
  4. Subject: help:what is wrong with this code?
  5. Date: 14 Apr 1996 16:15:58 -0400
  6. Organization: University of Delaware
  7. Message-ID: <4krmdu$t3h@brahms.udel.edu>
  8. NNTP-Posting-Host: brahms.udel.edu
  9.  
  10. #include <stdio.h>
  11.  
  12. void quicksort(int[],int,int );
  13.  
  14. void swap(int*,int*);
  15.  
  16. main () {
  17. int k;
  18. int a[]={1,3,4,2,43,23,5,6,87,92,21};
  19. quicksort(a,0,10);
  20. for (k=0;k<=10;k++) {
  21. printf("%d\n",a[k]);
  22. }
  23. return 0;
  24. }
  25.  
  26.  
  27. void swap( int* s,int* t) {
  28. int tmp;
  29. tmp=*s;
  30. *s=*t;
  31. *t=tmp;
  32. }
  33.  
  34. void quicksort(int array[],int left,int right) {
  35. int i,j,median;
  36. if (right<=left) return ;
  37. median=(right+left)/2;
  38. swap(&array[median],&array[right]);
  39. i=left;
  40. j=right-1;
  41. while((j-i)>=-1){
  42. while((array[i]<array[right])&&(i<=(right-1)))
  43. i++;
  44. while((array[j]>array[right])&&(j>=0))
  45. j--;
  46. swap(&array[i],&array[j]);
  47. }
  48. swap(&array[i],&array[right]);
  49. quicksort(array,left,(i-1));
  50. quicksort(array,(i+1),right);
  51. }
  52.